A Reliable 3-Factor Authentication
for Secured User Logins
Sheena
Mohammed1*, Madhuri Dachepally1,
A Annapurna1
1Assistant Professor, Computer
Science and Engineering,
Vardhaman
College of Engineering, Shamshabad-501218
*Corresponding
Author Email: sheenamd786@gmail.com,
madhuri.dachepally@gmail.com
poorna.1201@gmail.com
ABSTRACT:
Today’s
world is all about providing security to the data, information, privacy and
presence of an individual. And, in the mobile and internet environment,
authentication plays a pivot role. Even though we have many kinds of password
protection levels still users face issues like cracking of the passwords and
shoulder surfing. We have many algorithms which are used to overcome these
issues, but rate of theft has been predominantly increasing. Classical approach
of resolving the issue is generating one time passwords which safeguards from many
attacks like shoulder surfing and replay attacks. We have many algorithms
designed for generating an OTP. For example, mathematical algorithms use old
OTP’s to generate a new one, so this creates a security issue again. The
important feature is to improve the security without negotiating the user’s
convenience. Our proposed system deals with a dynamic scheme of 3-factor
authentication based on classical password, Pass Pattern and OTP. This method
can be used in many day-to-day applications.
KEYWORDS: Pattern matrix, Pass Pattern, OTP ,
TOTP, Brute force attack, Dictionary attack, Key logging, shoulder surfing.
INTRODUCTION:
Online
applications with single factor authentication have advantages as well as
disadvantages. One advantage is static passwords are easy to remember for many
users, but still few find it hard to remember and they write down passwords
somewhere thus raising vulnerability to replay attacks, shoulder surfing and
Phishing. To secure the static password-multilevel password authentication is
used like one time passwords, Bio-Metric, hard codes and session passwords [1]
[2].
Single
factor authentication through passwords is also vulnerable to social
engineering like people asking for passwords or guessing the password
correctly. To overcome these disadvantages, a new method was introduced known
as “One Time Password (OTP)”. OTP is a valid password that can be used only for
one login or transaction within a stipulated time. This allows the users to
login to the system by entering password with OTP.
In the
proposed system, once username and passwords are generated the web server
displays an NxN matrix of cells, which is known as
Pattern Matrix. The user is required to draw the pattern of his/her choice and
confirm the same. The pattern drawn will be stored at the server. At the time
of login the user has to provide his/her username, password and then web server
asks for the pattern. The pattern drawn will be validated by the server and
then server sends an OTP to user's registered mobile number. And finally the
received OTP will need to be provided to logon onto system.
Fig 1: Flow
of OTP generation
RELATED WORK:
1.
Static Password:
This is one
of the best authentication methods. Benefit of static passwords [3] are easy to
remember, but when we are dealing with multiple number of systems where each
holds a different password-then it is very tough to remember and we start
noting them down, which is very vulnerable. Disadvantage of holding the static
password very weak to crack as most of them choose the topics which are very
near to remembrance like birthdays, partner names, children names, pet names
etc., which are mostly numbers or alphabets. These are insecure to the social
engineering i.e., people may ask for your password/guessing it, they can be
picked up by spyware too.
Alternative
method of using these passwords are changing the passwords regularly, this is
the benefit. A disadvantage of changing passwords frequently is that they can
be easily forgettable, which leads to very high support costs and
administration costs.
2.
Pass Pattern System (PPS):
PPS is a challenge-response
system and is based on the premise that humans are good at identifying,
remembering and recollecting graphical patterns than test patterns [4].
Idea behind
this PPS is that- Instead of remembering sequence of characters, user is asked
to remember a shape (which is stored as a sequence of position in hash
format).When user wants to login, this system displays an NxN
matrix of cells, which is called as “Pattern Matrix”. Every cell of the square
is an image, representing sequence of numbers, alphabets and also special
characters. This square acts as a challenge by the server to the user as
position of cells which may change in any of the directions. At registration
user is asked to choose a sequence of cells (i.e., positions) as shown in fig. After
user selecting, the sequence of position will remain as a user’s “Pass
Pattern”. This sequence will remain as a secret between the user and the
corresponding system. Advantage of this system is that user just to remember
only one shape and as that is only one secret [5].
Fig 2: Pass
Pattern System (PPS)
3.
One Time Password (OTP):
An OTP is a
password used for only single transaction or only one login session which is
used on a digital device or on a computer. This method has avoided many issues
which are associated with, static password authentication. These OTP’s are not
vulnerable to replay attacks which means, a person who tries to record an OTP
that has been already used to logon in top a machine(or) to make a transaction
cannot use the same as it is no longer exists/valid. One more advantage is that
a user who tries to access multiple machines using password is not allowed on
all the systems [6].
All the
algorithms which try to generate an OTP make an intensive use of pseudo
randomness/ randomness which makes difficulty in predicting. Usage of hash
function is also used to get a value and even this method cannot be easily
broken as we are using hashing. Usage of this technique is very important
because without using hashing generating an OTP will be very easy to break by
observing the history of OTP’s received.
There are
different methods to generate an OTP.
1.
Time
Synchronized: This method is being used to guarantee the uniqueness of
the onetime password. This kind of OTP is generally related to a piece of
hardware called as security token – where each user will be given a personal
token that generates a OTP. An accurate clock is kept inside the token which
will maintain sync with OTP authentication server. Time plays an important role
in the password algorithm – where generation of new passwords is based on the
current time. Typically, we will have a +1 to -1 ratio of acceptable passwords,
which means that the authentication system will accept the last password, the
current and also the next password which are generated in sequence. This helps for a small drift in time
synchronization between token authentication server and the token card [7].
2.
Mathematical
Algorithms: There are two ways of
generating OTP in Mathematical algorithms.
i)
In the first method, these
algorithms use previous OTP’s to generate a new OTP. Example of this type of
algorithm, credited to Leslie Lamport, use a one-way
function called ‘f’. OTP system works by starting with an initial seed s, then
generating passwords f(s), f(f(s)),
f(f(f(s))), f(f(f(f(s)))),... We can generate any number of times as
required [8].
ii)
In the second method, it is
something which we see when using a virtual token system, we will use the
software to run and then the user is asked to provide secret PIN. After
successfully giving the Secret PIN, the virtual token software program will
generate an OTP which is unique, and the user can enter the password with
available network ID. The OTP generated can be used for a session or just for
one user login.
3-Factor
Authentication for Secured User Logins:
In this
paper, we discuss a three step procedure which results in a secured login. For
this the user while registering he has to a static password as in general and
draw a pattern (as we generally see in smart phones for authentication) of his
choice on the pattern matrix provided. This pattern matrix composed of number
of cells in the matrix form. Each cell corresponds to a character that can be a
number, alphabet are some selected special characters which are usually
supported by almost all mobile phones, as our proposed system is dealing with
sending OTP to mobile devices [9].
When the
User confirms this pass pattern the cell index values and connections in the
pattern will be stored at server. Whenever user whishes to login, the pattern
matrix will be again provided to the user, but the characters which are
corresponding to the cell will be rearranged. When the user draws the pattern,
the server will verify with the stored pass pattern, if matches, generates the
OTP based on characters of corresponding cells.
These characters are considered as the Token (secret word). And to
generate OTP we use TOTP (Time based One-Time Password) algorithm, which takes
the token and time of sending the Pass Pattern to the server. We use TOTP
algorithms because these TOTP passwords keep on changing and are valid for a
short window in time.
1.
User Registration:
The user
should register with the server to perform any transactions or to access the
services provided by the server. While registering, the user has to provide the
details like name, address, mobile number and other related information. After
providing the details, the mobile number of the user will be verified –
verification of number is necessary as the user will receive OTP to the same.
If the mobile number is not valid, then user is asked to verify the details
once again. After successful verification of mobile number, user is asked to
draw the pattern of his choice on the provided pattern matrix and confirm it.
At this stage the pattern provided by the user will be the final and the user
should remember it for the future use. The pass pattern will be saved at
server. In any case, if the user forgets the pass pattern he/she can retrieve
it by answering the security questions provided while filling the user details
at the time of registration.
Fig 3: Flow
chart of User Registration
2.
User login:
Whenever
user wishes to login, he/she has to enter user id and password which have been
created at the time of registration. Input of user id and password will undergo
verification, if valid; user is prompted to draw the Pass pattern. If the drawn
pattern is matched with the pattern present at server, an OTP will be generated
and the server will send it to the user’s registered mobile number. The
generated OTP is valid for a particular time frame and also for single login
session.
Drawing of
wrong pattern and entering of wrong OTP will prompt the user to repeat the
steps. After three unsuccessful attempts, the server sends a warning message
saying that the login attempts for the day has been completed and user can
retry to login only after 24 hrs (i.e., after one day).
Fig 4: Flow
chart of User Login
DESIGN ISSUES IN 3-FACTOR
AUTHENTICATION:
The strength
of the proposed system can be adapted to various applications. The strength of
the system can be enhanced by increasing the size of the pattern matrix. i.e, bigger matrix, more is the security. Number of possible
patterns of an N X N matrix will be N2. Thus, as the size of pattern
matrix increase, the possible patterns will increase, which will increase the
security. The strength of the system can be still enhanced by changing the
characters corresponding to each cell of the matrix.
SECURITY STRENGTHS OF 3- FACTOR
AUTHENTICATION:
The attacks
like Brute force attack, dictionary attack, key logging and shoulder surfing
and Man-in the middle attacks are possible on an authentication system [10].
1.
Brute
force attack: In classical password based authentication system, the user
sends the user id and secret password which will be compared with saved user id
and password saved at server. Because of the challenge and response nature of
our system, it is more secure than the password based authentication to the
Brute force attacks.
2.
Dictionary
attack: It is one of the most common attacks to break password based
system. In our system the commonly used shapes, sequences can be possible
candidates in a dictionary. However, the pattern matrix changes randomly and as
we are using addition OTP, this attack can also be overcome.
3.
Key
logging: Key logger is a program, which captures the user keystroke
and sends the information to the hacker. However, in our system even the pattern
drawn is known to the hacker he cannot login as the OTP will be received on the
user’s registered mobile number.
4.
Shoulder
Surfing: Shoulder surfing is looking over someone’s shoulder when
they enter a password or a PIN code. Shoulder surfing can be easily done on the
classical password based system. But, our system as it uses three factor
authentications, if password is seen or pattern is seen, or even OTP is also
seen, hacker cannot use it because the OTP is valid for only one login session.
FEATURE ENHANCEMENT:
The strength
can still be enhanced by increasing the size of pattern matrix as well as
changing the characters in pattern matrix. General problems we come across are
-what if mobile network signal is week? What may be the best size for pattern
matrix? What is the user behavior while choosing the pattern? These can still
be overcome in the future.
CONCLUSION:
In this
paper, we presented a new 3-factor authentication which can be potential
replacement to the classical password system. The strength of system lies in
generation of an OTP only after drawing the pass pattern .As it is a three step
procedure even if an attacker knows the password and pass pattern - as the
attacker does not hold the user's mobile cannot logon to the system. This
mechanism has a strong approach of providing securiy
in a reliable manner making all kinds of attacks to react very small.
REFERENCES:
[1]
M. Sandirigama,
A. Shimizu and M. T. Noda, “ Simple and Secure Password Authentication Protocol
(SAS)”, IEICE Trans. Commun, Vol. E83-B, no. 6, pp.
1363-1365, June 2000.
[2] Strong
passwords: How to create and use them,
http://www.microsoft.com/protect/youself/password/create.mspx
[3]
Password-Based Authentication: A
System Perspective, 37th Annual Hawaii International conference on System
Sciences (HICSS'04) - Track 7 - volume 7, Page 70170.2 IEEE Computer Society
Washington, DC, USA .
[4]
Shepard,
R.N.: Recognition memory for words, sentences and pictures, Journal of verbal
Learning and Verbal Behavior 6,153-163(1967).
[5]
T Rakesh
Kumar and S. V. Raghavan, Pass Pattern System (PPS):
A Pattern-Based User Authentication, A Das et al(Eds.): Networking 2008.LNCS 4982.PP.162-169.2008.
[6]
Dan Griffin, “Safer Authentication
with a One-Time Password Solution”, https://msdn.microsoft.com/en-us/magazine/ cc507635.aspx.
[7]
CCNP Security SISAS 300-208 by Aaron
Wol and Kevin Redmon.
[8]
L. Lamport,
“Password authentication with insecure communication”, Commun.
ACM, Vol.24,No.11, pp.770-772,Nov 1981
[9]
Smart Authentication for Smart
phones, Arpit Agrawal et
al, (IJCSIT) International Journal of Computer Science and Information
Technologies, Vol. 5 (4), 2014, 4839-4843.
[10]
Mudassar Raza, Muhammad Iqbal, Muhammad
Sharif and Waqas Haiderm,
“A Survey of Password Attacks and Comparative Analysis on Methods for Secure
Authentication”, World Applied Sciences
Journal 19 (4): 439-444, 2012,
Received on 24.04.2015 Accepted on 20.06.2015
©A&V Publications all right reserved
Research
J. Engineering and Tech. 6(4): Oct. - Dec., 2015 page 408-412
DOI: 10.5958/2321-581X.2015.00063.X